package com.lw.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;
import io.swagger.v3.oas.annotations.media.Schema; // 导入 springdoc-openapi 注解
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 *  实体类。
 *
 * @author lw
 * @since 2025年04月29日 11:35:15
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "TbAlarm", description = "告警实体类") // 使用 @Schema 替代 @ApiModel
@Table("tb_alarm")
public class TbAlarm implements Serializable {

    @java.io.Serial // 添加 @Serial 注解
    private static final long serialVersionUID = 1L;

    @Id(keyType = KeyType.Auto)
    @Schema(description = "") // 使用 @Schema 替代 @ApiModelProperty
    private Integer id;

    /**
     * 告警名称
     */
    @Schema(description = "告警名称") // 使用 @Schema 替代 @ApiModelProperty
    private String name;

    /**
     * 编码
     */
    @Schema(description = "编码")
    private String code;

    /**
     * 类型
     */
    @Schema(description = "类型")
    private String type;

    /**
     * 等级：danger，warning，info
     */
    @Schema(description = "等级：danger，warning，info")
    private String level;

    /**
     * 状态码
     */
    @Schema(description = "状态码")
    private String statusCode;

    /**
     * 告警时间
     */
    @Schema(description = "告警时间")
    private LocalDateTime alarmTime;

    /**
     * 告警详情
     */
    @Schema(description = "告警详情")
    private String alarmDetail;

    /**
     * 状态
     */
    @Schema(description = "状态")
    private String status;

}